Semiconductor memory devices, including flash memory, typically utilize memory cells to store data as an electrical value, such as an electrical charge or voltage. A flash memory cell, for example, includes a single transistor with a floating gate that is used to store a charge representative of a data value. Flash memory is a non-volatile data storage device that can be electrically erased and reprogrammed. More generally, non-volatile memory (e.g., flash memory, as well as other types of non-volatile memory implemented using any of a variety of technologies) retains stored information even when not powered, as opposed to volatile memory, which requires power to maintain the stored information.
Data hardening, the saving of data and mission critical metadata held in volatile storage, is an integral part of a storage device. When there is a power failure, mission critical data may reside in volatile memory in a number of sub-system components. Coordinating and managing multiple sub-system components to ensure that volatile data is saved successfully is important for safeguarding data integrity of a storage device. Storage devices with data hardening functionality sometimes use energy storage devices (e.g., holdup capacitor banks) to store energy for later use, if and when input power is lost. In these devices, power management is important to manage power demands on the host system during power failure conditions.